Proving ML Type Soundness Within Coq
نویسنده
چکیده
We verify within the Coq proof assistant that ML typing is sound with respect to the dynamic semantics. We prove this property in the framework of a big step semantics and also in the framework of a reduction semantics. For that purpose, we use a syntax-directed version of the typing rules: we prove mechanically its equivalence with the initial type system provided by Damas and Milner. This work is complementary to the certification of the ML type inference algorithm done previously by the author and Valérie Ménissier-Morain.
منابع مشابه
A Certified Interpreter for ML with Structural Polymorphism
The type system of Objective Caml has many unique features, which make ensuring the correctness of its implementation difficult. One of these features is structurally polymorphic types, such as polymorphic object and variant types, which have the extra specificity of allowing recursion. I implemented in Coq a certified interpreter for Core ML extended with structural polymorphism and recursion....
متن کاملComputational Soundness of Formal Encryption in Coq
We formalize Abadi and Rogaway's computational soundness result in the Coq interactive theorem prover. This requires to model notions of provable cryptography like indistinguishability between ensembles of probability distributions, PPT reductions, and security notions for encryption schemes. Our formalization is the rst computational soundness result to be mechanized, and it shows the feasibil...
متن کاملDefensive Certification in Coq with ML Type-Safe Oracles
Initially promoted by CompCert, the embedding of untrusted Ocaml code into extracted code from Coq – through a skeptical approach – significantly simplifies Coq developments of formally proved software. However, as illustrated by various examples of this paper, such an embedding could be unsound. This paper conjectures sufficient conditions to ensure soundness. And, it illustrates the power of ...
متن کاملA certified implementation of ML with structural polymorphism and recursive types
The type system of Objective Caml has many unique features, which make ensuring the correctness of its implementation difficult. One of these features is structurally polymorphic types, such as polymorphic object and variant types, which have the extra specificity of allowing recursion. We implemented in Coq a certified interpreter for Core ML extended with structural polymorphism and recursion...
متن کاملA Certified Implementation of ML with Structural Polymorphism
The type system of Objective Caml has many unique features, which make ensuring the correctness of its implementation difficult. One of these features is structurally polymorphic types, such as polymorphic object and variant types, which have the extra specificity of allowing recursion. We implemented in Coq a certified interpreter for Core ML extended with structural polymorphism and recursion...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000